AT-NFC  2.1 (win)
AT-NFC kernel set
emv_export.h
Go to the documentation of this file.
1 #ifndef EMV_EXPORT_H
2 #define EMV_EXPORT_H
3 
4 /* ***************************** EMV KERNEL export functions ******************************* */
8 /* ***************************************************************************************** */
9 
10 /* ******************************* Kernel export functions ********************************* */
18 /* ***************************************************************************************** */
19 
20 
21 /* ************************************** kerInit ****************************************** */
37 extern KER_RES KER_API kerInit(KER_CTX_INIT_PARAM const KER_VOID* pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR* pchKernelFiles, KER_INT16U usKernelFilesLen);
38 
39 
40 /* ************************************* kerDeInit ***************************************** */
52 
53 
54 /* ************************************** kerVerInfo *************************************** */
66 /* ***************************************************************************************** */
67 extern KER_BOOL KER_API kerVerInfo(KER_CTX_PARAM KER_CHAR** ppchEmvVer, KER_INT16U* pusEmvVerLen, KER_CHAR** ppchLibVer, KER_INT16U* pusLibVerLen);
68 
69 
70 /* ************************************** kerCheckATR ************************************** */
81 /* ***************************************************************************************** */
82 extern KER_BOOL KER_API kerCheckATR(KER_CTX_PARAM const KER_BYTE* pbtATR, KER_BYTE btATRLen, KER_BYTE* pbtChipProto);
83 
84 
85 /* ************************************* kerBuildCL **************************************** */
109 extern KER_RES KER_API kerBuildCL(KER_CTX_PARAM KER_BYTE btChipProtocol, KER_BOOL bUsePSE, KER_TLV** ppCandidateList, KER_TLV** ppBlockedAppList);
110 
111 
112 /* ************************************* kerSelectApp ************************************** */
137 extern KER_RES KER_API kerSelectApp(KER_CTX_PARAM KER_BYTE btChipProtocol, const KER_TLV* pCandidateToSelect, KER_TRAN** ppTran);
138 
139 
140 /* ************************************ kerSetTranData ************************************* */
156 extern KER_RES KER_API kerSetTranData(KER_CTX_PARAM KER_TRAN* pTran, const KER_BYTE* pbtTranData, KER_INT16U usTranDataLen);
157 
158 
159 /* ************************************ kerInitAppProc ************************************* */
180 
181 
182 /* ************************************ kerForceOnline ************************************* */
194 
195 
196 /* ************************************* kerUpdateTVR ************************************** */
210 extern KER_RES KER_API kerUpdateTVR(KER_CTX_PARAM KER_TRAN* pTran, const KER_BYTE* pbtData, KER_INT16U usDataLen);
211 
212 
213 /* ************************************ kerReadAppData ************************************* */
230 
231 
232 /* ********************************** kerCardInExceptFile ********************************** */
246 
247 
248 /* ********************************** kerCheckExceptFile *********************************** */
263 
264 
265 /* ********************************* kerIsCashbackAllowed ********************************** */
281 
282 
283 /* ************************************ kerOfflineAuth ************************************* */
296 
297 
298 /* ************************************ kerProcRestrict ************************************ */
311 
312 
313 /* ***************************************** kerCV ***************************************** */
339 extern KER_RES KER_API kerCV(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE* pbtSelectedCVM, KER_BYTE* pbtCustomCVMCode);
340 
341 
342 /* ********************************* kerSetOnlinePinResult ********************************* */
362 
363 
364 /* ********************************** kerGetOfflinePinData ********************************* */
379 extern KER_RES KER_API kerGetOfflinePinData(KER_CTX_PARAM KER_TRAN* pTran, KER_OFFLINE_PIN_DATA* pOfflinePinData);
380 
381 
382 /* ********************************* kerSetOfflinePinResult ******************************** */
405 extern KER_RES KER_API kerSetOfflinePinResult(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE btResult, const KER_BYTE* pbtPinVerifyData, KER_INT16U usPinVerifyDataLen);
406 
407 
408 /* ********************************* kerSetCustomCVMResult ********************************* */
428 extern KER_RES KER_API kerSetCustomCVMResult(KER_CTX_PARAM KER_TRAN* pTran, KER_BYTE btResult, const KER_BYTE* pbtTvrBitsToSet, KER_BYTE btTvrBitsToSetLen);
429 
430 
431 /* *********************************** kerRiskManagement *********************************** */
444 
445 
446 /* **************************************** kerTAA ***************************************** */
459 extern KER_RES KER_API kerTAA(KER_CTX_PARAM KER_TRAN* pTran, KER_INT16U usMode);
460 
461 
462 /* **************************************** kerCAA ***************************************** */
479 extern KER_RES KER_API kerCAA(KER_CTX_PARAM KER_TRAN* pTran);
480 
481 
482 /* ************************************** kerOnline **************************************** */
508 extern KER_RES KER_API kerOnline(KER_CTX_PARAM KER_TRAN* pTran, KER_BOOL bUnableToGoOnline, KER_INT16U usReferralResult);
509 
510 #endif /* EMV_EXPORT_H */
void KER_VOID
Definition: emv_platform.h:66
KER_INT8U KER_BOOL
Definition: emv_platform.h:67
uint8_t KER_BYTE
Definition: emv_platform.h:70
KER_INT16U KER_RES
Definition: emv_platform.h:68
unsigned short KER_INT16U
Definition: emv_platform.h:61
char KER_CHAR
Definition: emv_platform.h:65
KER_RES KER_API kerBuildCL(KER_CTX_PARAM KER_BYTE btChipProtocol, KER_BOOL bUsePSE, KER_TLV **ppCandidateList, KER_TLV **ppBlockedAppList)
Creates CL by all available methods (PSE & APP list)
KER_RES KER_API kerReadAppData(KER_CTX_PARAM KER_TRAN *pTran)
Reads application data from ICC.
KER_RES KER_API kerSetOnlinePinResult(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE btResult)
Pass online pin entry result to kernel.
KER_RES KER_API kerCV(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE *pbtSelectedCVM, KER_BYTE *pbtCustomCVMCode)
Performs cardholder verification.
KER_RES KER_API kerOfflineAuth(KER_CTX_PARAM KER_TRAN *pTran)
Performs offline authentification.
KER_BOOL KER_API kerVerInfo(KER_CTX_PARAM KER_CHAR **ppchEmvVer, KER_INT16U *pusEmvVerLen, KER_CHAR **ppchLibVer, KER_INT16U *pusLibVerLen)
Obtains emv kernel library version info.
KER_RES KER_API kerCardInExceptFile(KER_CTX_PARAM KER_TRAN *pTran)
Let kernel know, that card appears in terminal exception file.
KER_RES KER_API kerInitAppProc(KER_CTX_PARAM KER_TRAN *pTran)
Initiate Application Processing.
KER_RES KER_API kerUpdateTVR(KER_CTX_PARAM KER_TRAN *pTran, const KER_BYTE *pbtData, KER_INT16U usDataLen)
Updates TVR from external (some custom cvm may require this)
KER_RES KER_API kerSelectApp(KER_CTX_PARAM KER_BYTE btChipProtocol, const KER_TLV *pCandidateToSelect, KER_TRAN **ppTran)
Makes final app selection.
KER_RES KER_API kerIsCashbackAllowed(KER_CTX_PARAM KER_TRAN *pTran)
Check if card supports Cashback.
KER_RES KER_API kerDeInit(KER_CTX_SINGLE_PARAM)
Performs kernel de-initialization.
KER_BOOL KER_API kerCheckATR(KER_CTX_PARAM const KER_BYTE *pbtATR, KER_BYTE btATRLen, KER_BYTE *pbtChipProto)
Check ATR for chip protocol to use.
KER_RES KER_API kerCAA(KER_CTX_PARAM KER_TRAN *pTran)
Performs Card Action Analysis.
KER_RES KER_API kerOnline(KER_CTX_PARAM KER_TRAN *pTran, KER_BOOL bUnableToGoOnline, KER_INT16U usReferralResult)
Process prev set by kerSetTranData() online authorization data by the kernel and makes second GAC.
KER_RES KER_API kerRiskManagement(KER_CTX_PARAM KER_TRAN *pTran)
Performs Terminal Risk Management.
KER_RES KER_API kerInit(KER_CTX_INIT_PARAM const KER_VOID *pConfigID, KER_INT16U usConfigIDLen, const KER_CHAR *pchKernelFiles, KER_INT16U usKernelFilesLen)
Performs kernel initialization.
KER_RES KER_API kerProcRestrict(KER_CTX_PARAM KER_TRAN *pTran)
Performs processing restrictions.
KER_RES KER_API kerSetTranData(KER_CTX_PARAM KER_TRAN *pTran, const KER_BYTE *pbtTranData, KER_INT16U usTranDataLen)
Pass transaction data to the kernel.
KER_RES KER_API kerGetOfflinePinData(KER_CTX_PARAM KER_TRAN *pTran, KER_OFFLINE_PIN_DATA *pOfflinePinData)
Get special data for offline pin entry.
KER_RES KER_API kerTAA(KER_CTX_PARAM KER_TRAN *pTran, KER_INT16U usMode)
Performs Terminal Action Analysis.
KER_RES KER_API kerSetCustomCVMResult(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE btResult, const KER_BYTE *pbtTvrBitsToSet, KER_BYTE btTvrBitsToSetLen)
Pass custom CVM result to kernel.
KER_RES KER_API kerCheckExceptFile(KER_CTX_PARAM KER_TRAN *pTran)
Check if card appears in terminal exception file by HAL API.
KER_RES KER_API kerSetOfflinePinResult(KER_CTX_PARAM KER_TRAN *pTran, KER_BYTE btResult, const KER_BYTE *pbtPinVerifyData, KER_INT16U usPinVerifyDataLen)
Pass offline pin entry result to kernel.
KER_RES KER_API kerForceOnline(KER_CTX_PARAM KER_TRAN *pTran)
Force transaction online by attendant.
#define KER_CTX_PARAM
Definition: emv_context.h:53
#define KER_CTX_INIT_PARAM
Definition: emv_context.h:63
#define KER_CTX_SINGLE_PARAM
Definition: emv_context.h:58
struct tag_KER_TRAN KER_TRAN
Kernel internal transaction data structure.
Definition: emv_data.h:251
offline PIN cvm related data structure
Definition: emv_data.h:79
TLV container structure.
Definition: emv_data.h:63